From: Jonas Ã…dahl Date: Wed, 25 Sep 2019 18:36:28 +0000 (+0200) Subject: introspect: Add helper to check method call permission X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~772^2^2~92 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=059fb5c7cbc84050bba654a3a8ace5d5d149e99e;p=gnome-shell.git introspect: Add helper to check method call permission https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/757 --- diff --git a/js/misc/introspect.js b/js/misc/introspect.js index d12aac69d..67965f7d4 100644 --- a/js/misc/introspect.js +++ b/js/misc/introspect.js @@ -119,9 +119,18 @@ var IntrospectService = class { type == Meta.WindowType.UTILITY; } + _isInvocationAllowed(invocation) { + if (this._isIntrospectEnabled()) + return true; + + if (this._isSenderWhitelisted(invocation.get_sender())) + return true; + + return false; + } + GetRunningApplicationsAsync(params, invocation) { - if (!this._isIntrospectEnabled() && - !this._isSenderWhitelisted(invocation.get_sender())) { + if (!this._isInvocationAllowed(invocation)) { invocation.return_error_literal(Gio.DBusError, Gio.DBusError.ACCESS_DENIED, 'App introspection not allowed'); @@ -136,8 +145,7 @@ var IntrospectService = class { let apps = this._appSystem.get_running(); let windowsList = {}; - if (!this._isIntrospectEnabled() && - !this._isSenderWhitelisted(invocation.get_sender())) { + if (!this._isInvocationAllowed(invocation)) { invocation.return_error_literal(Gio.DBusError, Gio.DBusError.ACCESS_DENIED, 'App introspection not allowed');